package com.fg.cloud.common.kuaidi.utils;

import org.apache.commons.lang3.StringUtils;

/**
 * 链接快递100接口，详细接口参考 https://www.kuaidi100.com/openapi
 * 本类用于接口必须参数配置
 * @author around
 *
 */
public class KuaidiConfig {
	
	
	/** 默认接口地址 */
	public static final String URL = "http://api.kuaidi100.com/api";

	/** 身份授权key，此处传递自己申请的即可 */
	private static final String KEY = "e9d0ecc26415820d";
	
	/** 要查询的快递公司代码，不支持中文 */
	public static String com = "";
	
	/** 要查询的快递单号 */
	public static String nu = "";
	
	/** 已弃用字段 */
	public static String valicode = "";

	/**
	 * 返回类型,如果不填，默认返回json字符串
	 * 0：返回json字符串
	 * 1：返回xml对象
	 * 2：返回html对象
	 * 3：返回text文本。
	 * 由于申请的免费接口，所以只能使用html才能查到更多信息，固定为2
	 */
	public static String show = "2";
	
	/**
	 * 返回信息数量,不填默认返回多行
	 * 0:只返回一行信息。
	 * 1:返回多行完整的信息
	 */
	public static String muti = "1";
	
	/**
	 * 排序,不填默认返回倒序（大小写不敏感）
	 * desc：按时间由新到旧排列
	 * asc：按时间由旧到新排列
	 */
	public static String order = "desc";
	
	
	
	/**
	 * 通过request获取前端传参或后台查询得到的快递信息，进行拼接URL
	 * @param com 快递公司代码
	 * @param nu 快递号
	 * @param order 排序方式
	 * @return
	 */
	public static String getRequestURL(String com, String nu, String order) {
		if(StringUtils.isNotEmpty(com)) KuaidiConfig.com = com;
		if(StringUtils.isNotEmpty(nu)) KuaidiConfig.nu = nu;
		if(StringUtils.isNotEmpty(order)) KuaidiConfig.order = order;
		
		return getRequestURL();
	}
	
	
	/**
	 * 接口地址示例
	 * http://api.kuaidi100.com/api?
	 * id=e9d0ecc26415820d
	 * &com=youshuwuliu
	 * &nu=518187641764
	 * &show=2
	 * &muti=1
	 * &order=desc
	 */
	public static String getRequestURL() {
		StringBuffer url = new StringBuffer();
		url.append(URL).append("?");
		url.append("id=").append(KEY);
		url.append("&com=").append(com);
		url.append("&nu=").append(nu);
		url.append("&show=").append(show);
		url.append("&muti=").append(muti);
		url.append("&order=").append(order);
		
		return url.toString();
	}
	

	
	public static void main(String[] args) {
		System.out.println(getRequestURL("youshuwuliu", "518187641764", "asc"));
	}
}
